In a shared bus system which consists of multiple masters and slaves, the data transmissions among these masters and slaves, for example, the transmissions of control signals and data, etc. are all through a shared bus. When multiple masters in the system sending out bus usage requests and compete for the priority of usage of the shared bus, bus contention thus occurs; therefore, an arbiter is needed which should make appropriate arbitration on the priority of usage of the shared bus based on the real-time requirements or bandwidth requirements of the master. The real-time requirement of the master means the requirement proposed should be completed within a limited time and the bandwidth requirement means certain amount of data transmission is needed; therefore, if the real-time or bandwidth requirement of any master is violated, this system will be unable to work properly.
In a shared bus system, conventional arbitration method consists of:
1. First-Come-First-Served
The data first come will be the first served. Since the bandwidth requirement of each master is not considered, uneven system bandwidth distribution could easily be the result.
2. Fixed Priority
When bus contention occurs, the master having higher priority will be the first served, which might lead to the starvation of the master having lower priority; therefore, uneven system bandwidth distribution still occurs.
3. Dynamic Priority
This is a method that changes dynamically the priority of each master to improve the usage effectiveness of shared resource. There are many ways to change the priority of the master; however, it is still difficult to avoid the starvation of master having lower priority.
4. Earliest Deadline First
This is a method to complete in the first priority the data transmission requirement which is closest to the deadline, although it can satisfy the real-time requirement of each data transmission, uneven system resource distribution could easily be the result.
5. Round-Robin
This is a method that distributes system bandwidth evenly to each master and limits that each master sharing the resource can only use the same amount of bandwidth; therefore, it could easily lead to the delay of real-time data transmission requirement.
6. Time-division Multiplexing
The priority of usage of shared bus is determined by the time slots assigned in advance, although this method can distribute evenly system bandwidth based on the requirement of master, yet when the system is too complicated, the design of time slot is difficult to satisfy simultaneously the real-time and bandwidth requirement of each master.
7. Random
This is a method that determines randomly and dynamically the priority of usage of shared bus according to the ticket distribution preset in the system and the shared bus usage situation proposed by master; although it can evenly distribute the priority of bandwidth usage of each master, yet it can not handle real-time data transmission.
In a patent with patent number 93136895 applied in Taiwan, Republic of China, named “A bus arbiter, bus device and bus arbitration method”, a bus system is disclosed, which consists of multiple counters and a control circuit; the counter means the amount of usage of bandwidth of each master, which is used to record the frequency of usage of bus by each master; the control circuit then changes the priority of the master according to the counted value on the counter and the priority of usage of shared bus is determined through the amount of bandwidth usage that is preset in advance. Although this kind of arbitration method can satisfy the bandwidth requirement of each master, yet the real-time requirement of the master is not considered. In a patent with patent number I257551, named, “Bus arbitration system and method”, an arbitration system comprising of a priority order distribution device and a arbiter circuit is disclosed, which can effectively reduce the access time of the master having higher priority and change dynamically the priority of master; therefore, the starvation of master faced in the arbitration method having fixed priority can thus be avoided. However, such method can not cope effectively with the real-time requirement of master. Furthermore, a patent applied in Taiwan, Republic of China with patent number I258081, named “A bus control priority arbitration method and arbiter”, an arbitration system consists of multiple time accumulator is disclosed; therefore, when any master in the system proposes bus usage request, its corresponding time accumulator will then start to accumulate; when the value in the time accumulator is larger than the preset threshold value, the master will then obtain the highest priority of usage of the bus; although this kind of arbitration method can satisfy the real-time requirement of each master, yet the bandwidth requirement is not considered and system bandwidth is thus difficult to be distributed evenly. In a patent applied in Taiwan, Republic of China with patent number I220500, a system consists of equipment Round-Robin order table, transmission requirement table and equipment usage record table is proposed; in the system, equipment Round-Robin order table and transmission requirement table are dynamically checked in order to decide the bus usage order of each master; in the mean time, the usage situation is recorded in the equipment usage record table. The bus usage situation by the master is recorded through massive amount of memory devices in order to adjust dynamically the arbitration method and satisfy the real-time and bandwidth requirement of each master. However, the very important equipment Round-Robin table in the present invention is still difficult to be designed in the present complicated system. In addition, in an U.S. patent with U.S. Pat. No. 6,633,939, an arbitration method with dynamic priority is disclosed which, based on the behavior of the master, changes the master's corresponding priority dynamically. Since usually the master having higher priority obtains the priority of usage of the bus, the starvation of master having lower priority is still difficult to be avoided. In an U.S. patent with U.S. Pat. No. 6,694,488, which is also an arbitration method of dynamic priority; in the system, each master consists of a communication architecture tuner (CAT) circuit which is used to decide appropriately the priority of usage of bus for each master when bus contention occurs. Although the CAT circuit can help arbiter to satisfy the real-time requirement of master, yet the bandwidth requirement can not be satisfied in the same time. In an U.S. patent with U.S. Pat. No. 6,877,053, an arbitration method based on random number is proposed; in the system, each master has a preset ticket, therefore, when bus contention occurs, arbiter will grant arbitrarily the priority of usage of the bus according to weighted average way and according to the tickets of each master; although such method can fairly distribute bandwidth, the real-time requirement of each master is not taken into account.
Therefore, an arbiter and arbitration method that can satisfy the simultaneous real-time and bandwidth requirements of the master in a system is thus hoped.